import axios from 'axios'
import { Notify } from 'vant';
import 'vant/lib/index.css';
import store from '../store/index'
const instance = axios.create({
  // baseURL:'http://localhost:3000'
  headers:{
    token1:'asdfasdfasdf',  //可以向后端带token的第一个位置
    'auth-token1':'asdfasdfasdfasdf'
  }
})


// 添加请求拦截器
instance.interceptors.request.use(function (config) {
  // 在发送请求之前做些什么
  console.log('路过了请求拦截器',config);
  let token = store.state.user.userInfo ? store.state.user.userInfo.token : ''
  config.headers.token = token //可以向后端带token的第二个位置
  config.headers['auth-token2'] = 'asdfasdfasdfa1111' //可以向后端带token的第二个位置
  return config;
}, function (error) {
  // 对请求错误做些什么
  return Promise.reject(error);
});

let statusList = {
  '110':{
    type:'danger',
    background:'red'
  },
  '111':{
    type:'success',
    background:'green'
  },
  '112':{
    type:'warning',
    background:'orange'
  },
  '120':{
    type:'danger',
    background:'red'
  },
  '121':{
    type:'warning',
    background:'orange'
  },
}

// 添加响应拦截器
instance.interceptors.response.use(function (response) {
  // 2xx 范围内的状态码都会触发该函数。
  // 对响应数据做点什么
  console.log('路过了响应拦截器',response);
  let {code,msg} = response.data
  if(code>100){
    let {type,background} = statusList[code]
    // console.log(type);
    Notify({type,background,message:msg})
  }
  if(code==120||code==121){
    localStorage.removeItem('userInfo')
    store.commit('user/initInfoMut',null)
  }
  return response;
}, function (error) {
  // 超出 2xx 范围的状态码都会触发该函数。
  // 对响应错误做点什么
  return Promise.reject(error);
});


export default instance